package com.zqxq.auth.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zqxq.auth.entity.po.Role;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * Description ：
 * Author： 何三七
 * Date： 2018/01/18 17:23
 */
@Component
public interface RoleMapper extends BaseMapper<Role> {
    List<Map<String,Object>> getRoleList(@Param("offset") long offset, @Param("pageSize") int pageSize, @Param("role_ids") String role_ids);

    Long getRoleListTotal(@Param("role_ids") String role_ids);

    void deleteRoleFuncByRoleId(@Param("role_id") Long role_id);

    void insertRoleFuncs(@Param("roleFuncs") String roleFuncs);

    String getgetChildrenRoleString(@Param("parent_role_ids") String parent_role_ids);

    /**
     * 删除子角色不存在的功能
     * @param childrenRoleString
     * @param funcIds
     */
    void deleteChildrenFunc(@Param("childrenRoleString") String childrenRoleString, @Param("funcIds") String funcIds);

    void updateRoleAndChildrenStatus(@Param("childrenRoleString") String childrenRoleString, @Param("role_status") Integer role_status);

    List<Map<String,Object>> getUsingRoleList(@Param("role_ids") String role_ids);

    String getFuncIdsByRoleId(@Param("role_id") Long role_id);
}
